package VN.EDU.IMIC.DEVELOPER.TRANTHITHANHNGA.ARRAYLIST.DEMO3;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Views {

	/**
	 * Manage student info
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		// 1. Khai báo mảng động
		List<Student> sv = new ArrayList<Student>();
		List<Student> lis = new ArrayList<Student>();

		Student sv1 = new Student();
		Student sv2 = new Student();
		Student sv3 = new Student();

		// 2. Thêm thông tin sinh viên
		sv1.setRollNo(1);
		sv1.setFullName("Trần Văn Thắng");
		sv1.setMark(7);

		sv2.setRollNo(2);
		sv2.setFullName("Nguyễn Vân Anh");
		sv2.setMark(8);

		sv3.setRollNo(3);
		sv3.setFullName("Trần Văn Tuấn");
		sv3.setMark(10);

		sv.add(sv1);
		sv.add(sv2);
		sv.add(sv3);

		// 3. Hiển thị
		for (int row = 0; row < sv.size(); row++) {
			System.out.println("sv[" + row + "]" + sv.get(row).getRollNo());
			System.out.println(sv.get(row).getFullName());
			System.out.println(sv.get(row).getMark());
		}
		// 4. Copy toàn bộ ds sinh viên
		lis.addAll(sv);
		// 5. Hiển thị dữ liệu trong mảng mới
		for (int row = 0; row < sv.size(); row++) {
			System.out.println("lis[" + row + "]" + lis.get(row).getRollNo());
			System.out.println(lis.get(row).getFullName());
			System.out.println(lis.get(row).getMark());
		}
		// 6. Sắp xếp ds sinh viên theo tên
		Collections.sort(lis, new Comparator<Student>() {
			@Override
			public int compare(Student o1, Student o2) {
				return o1.getFullName().compareToIgnoreCase(o2.getFullName());
			}
		});
		
		System.out.println("------------Sort--------------");
		for (int row = 0; row < sv.size(); row++) {
			System.out.println("lis[" + row + "]" + lis.get(row).getRollNo());
			System.out.println(lis.get(row).getFullName());
			System.out.println(lis.get(row).getMark());
		}

	}
}
